home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / JFC.bin / beaninfo.jar / src / JButtonBeanInfo.java < prev    next >
Text File  |  1998-06-30  |  5KB  |  134 lines

  1. /*
  2.  * JButtonBeanInfoSwingBeanInfo.template    1.4 98/04/13
  3.  * 
  4.  * Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
  5.  * 
  6.  * This software is the confidential and proprietary information of Sun
  7.  * Microsystems, Inc. ("Confidential Information").  You shall not
  8.  * disclose such Confidential Information and shall use it only in
  9.  * accordance with the terms of the license agreement you entered into
  10.  * with Sun.
  11.  * 
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
  13.  * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  14.  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  15.  * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
  16.  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
  17.  * THIS SOFTWARE OR ITS DERIVATIVES.
  18.  * 
  19.  */
  20.  
  21. package com.sun.java.swing;
  22.  
  23. import com.sun.java.swing.beaninfo.SwingBeanInfo;
  24.  
  25. import java.beans.BeanDescriptor;
  26. import java.beans.PropertyDescriptor;
  27. import java.awt.Image;
  28.  
  29.  
  30. /**
  31.  * Descriptive information about the JButton class for Java 
  32.  * Beans application builders.  This BeanInfo class provides descriptions
  33.  * of each property, of the bean itself, it indicates which
  34.  * JButton properties are bound, and it provides other
  35.  * information and icons useful to builders.
  36.  * 
  37.  * @version 1.4 04/13/98
  38.  * @author <your name here>
  39.  */
  40.  
  41. public class JButtonBeanInfo extends SwingBeanInfo 
  42. {
  43.     private static final Class classJButton = com.sun.java.swing.JButton.class;
  44.  
  45.     /**
  46.      * @return a JButton BeanDescriptor
  47.      */
  48.     public BeanDescriptor getBeanDescriptor() {
  49.     return createBeanDescriptor(classJButton, new Object[] {
  50.                 PREFERRED, Boolean.TRUE,
  51.                               "isContainer",Boolean.FALSE,
  52.      
  53.                     SHORTDESCRIPTION, "<A description of this component>."
  54.         }                
  55.         );                                   
  56.     }
  57.  
  58.  
  59.     /**
  60.      * Create a JButton PropertyDescriptor.  This is just an internal
  61.      * convenience method that allows one to leave the JButton.class
  62.      * argument out of the createPropertyDescriptor() class in the 
  63.      * getPropertyDescriptors() method below.
  64.      * 
  65.      * @param name the name of the property
  66.      * @param args an array java.beans.PropertyDescriptor property names and values
  67.      * @return a JButton PropertyDescriptor.
  68.      * @see SwingBeanInfo#createPropertyDescriptor
  69.      */
  70.     private PropertyDescriptor createPropertyDescriptor(String name, Object[] args) {
  71.     return super.createPropertyDescriptor(classJButton, name, args);
  72.     }
  73.  
  74.  
  75.     /**
  76.      * This method returns a list of bean PropertyDescriptors, one for each public
  77.      * property in JButton.  The first property is the "default" property.
  78.      *
  79.      * @return a complete list of bean PropertyDescriptors for JButton
  80.      * @see SwingBeanInfo
  81.      * @see java.beans.BeanInfo#getDefaultPropertyIndex
  82.      */
  83.     public PropertyDescriptor[] getPropertyDescriptors() 
  84.     {
  85.          
  86.     return new PropertyDescriptor[] {
  87.             
  88.              createPropertyDescriptor("UIClassID", new Object[] {
  89.                            EXPERT, Boolean.TRUE,
  90.                  SHORTDESCRIPTION, "A string that specifies the name of the L&F class.",
  91.                }
  92.              ),
  93.              
  94.              createPropertyDescriptor("accessibleContext", new Object[] {
  95.                            EXPERT, Boolean.TRUE,
  96.                  SHORTDESCRIPTION, "The AccessibleContext associated with this Button.",
  97.                }
  98.              ),
  99.              
  100.              createPropertyDescriptor("defaultButton", new Object[] {
  101.                  SHORTDESCRIPTION, "Whether or not this button is the default button",
  102.                }
  103.              )
  104.              
  105.     };
  106.     }
  107.  
  108.  
  109.     /**
  110.      * @return an icon of the specified kind for JButton
  111.      */
  112.     public Image getIcon(int kind) {
  113.     Image i;
  114.     switch (kind){
  115.       case ICON_COLOR_32x32:
  116.               i = loadImage("beaninfo/images/JButtonColor32.gif");
  117.           return ((i == null) ? loadImage("beaninfo/images/JComponentColor32.gif") : i);
  118.       case ICON_COLOR_16x16:
  119.           i = loadImage("beaninfo/images/JButtonColor16.gif");
  120.           return ((i == null) ? loadImage("beaninfo/images/JComponentColor16.gif") : i);
  121.       case ICON_MONO_32x32:
  122.           i = loadImage("beaninfo/images/JButtonMono32.gif");
  123.           return ((i == null) ? loadImage("beaninfo/images/JComponentMono32.gif") : i);          
  124.       case ICON_MONO_16x16:
  125.           i = loadImage("beaninfo/images/JButtonMono16.gif");
  126.           return ((i == null) ? loadImage("beaninfo/images/JComponentMono16.gif") : i);          
  127.       default:
  128.         return super.getIcon(kind);
  129.     }
  130.     }
  131. }
  132.  
  133.  
  134.